1. Field of the Invention
The present invention relates to pervasive computing, and deals more particularly with user interfaces, methods, systems, and computer program products for improving a user""s interactions with pervasive computing devices by providing an application launcher that is specifically adapted to such devices.
2. Description of the Related Art
Pervasive computing devices are the most rapidly growing class of computing devices available today. Such devices include personal digital assistants (xe2x80x9cPDAsxe2x80x9d), Web-enabled cellular phones, Web appliances, wearable computing devices, so-called xe2x80x9csmartxe2x80x9d appliances in the home, and so forth. It is predicted that by the year 2004, pervasive computing devices will be more widely used than personal computers. The reasons for this are evident. The Internet and World Wide Web (hereinafter, xe2x80x9cInternetxe2x80x9d) bring mobility, and mobility dictates a need for portability. As more and more people incorporate these devices into their everyday lives, the cost of such devices becomes more affordable. Now factor in the coming of inexpensive wireless access to the Internet, and it is easy to understand why these pervasive computing devices are becoming ever more popular. (Note: reference herein to xe2x80x9ccomputingxe2x80x9d devices is also intended to include devices used primarily for communications or other purposes, such as cellular phones.)
Pervasive computing devices vary in their characteristics. Often, pervasive computing devices are adapted to operation while being held, and many accept user input with a touch-sensitive display screen or via a light pen or other type of stylus. Typically, the display screen on these devices is much more limited in size than the displays available on personal computers. The user interface models that have been developed in recent years to optimize a user""s interactions with a more traditional type of computing device therefore do not necessarily adapt well to use with pervasive computing devices. The Palm class of devices appears to have a market leadership position for handheld pervasive computing devices with respect to popularity and usability. However, even within this class of devices there are several drawbacks. For example,
A single application launcher paradigm has not yet emerged. Most often, the application launcher used on such devices is very similar to a Windows program manager. In this approach, applications are typically reflected on a workspace using icons. With the constrained viewing space available on most pervasive computing devices, an icon-based display often proves to be inefficient and cumbersome. For example, it may take a considerable amount of time to search for an icon throughout a series of display screens. The SilverScreen(copyright) application launcher offers some improvements, for example by providing the ability to drag and drop applications and data to services (such as dragging an application to the trash can to delete it), but is still oriented toward use of application icons and resembles a (very small) Windows desktop. (xe2x80x9cSilverScreenxe2x80x9d is a registered trademark of PocketSensei.)
Existing application launchers are not optimized for use with a pen or stylus interface. (Hereinafter, the words xe2x80x9cpenxe2x80x9d and xe2x80x9cstylusxe2x80x9d are used interchangeably.) They still require the user to search for an application based upon its iconic representation, and then tap the icon to start execution of the application. These existing launchers have often implemented good pen support given their paradigm, but are not specifically adapted nor optimized for a pen-based interface.
The user interfaces of these devices are not optimized for switching from a launched application or task to the application launcher and back. Note that many devices in the Palm class provide a xe2x80x9chomexe2x80x9d button to enable switching back to the application launcher from a task view: this button would not be needed if a uniform way existed to switch between the launcher and a launched application or task (referred to hereinafter as a xe2x80x9ctaskxe2x80x9d for ease of reference).
Accordingly, what is needed are improvements to the user interface of these devices that address the drawbacks of existing solutions.
An object of the present invention is to provide improvements to the user interface of pervasive computing devices that address the drawbacks of existing solutions.
Another object of the present invention is to provide a user interface for pervasive computing devices that supports improved navigation.
Another object of the present invention is to provide a user interface that is optimized for a pen-based interface.
A further object of the present invention is to provide a user interface that is optimized for handheld devices.
Still another object of the present invention is to provide a user interface that is specifically adapted for devices having a limited display area.
Yet another object of the present invention is to provide a user interface for pervasive computing devices that enables quickly and efficiently switching between an application launcher and a task view.
Other objects and advantages of the present invention will be set forth in part in the description and in the drawings which follow and, in part, will be obvious from the description or may be learned by practice of the invention.
To achieve the foregoing objects, and in accordance with the purpose of the invention as broadly described herein, in a first aspect the present invention provides a user interface for pervasive computing devices. In one aspect, this user interface comprises a graphical representation of a collection of one or more tasks of the pervasive computing device, and a display area corresponding to the graphical representation of the collection, wherein the display area indicates status information for each of the one or more tasks and also provides accessibility to a plurality of functions for the collection of tasks.
In another aspect, this comprises a multi-functional application launcher view and a plurality of task views, wherein a user of the pervasive computing device selectively navigates between the multi-functional application launcher view and selected ones of the task views. The multi-functional application launcher view comprises: a displayed list of tasks available to the user for execution by the pervasive computing device; and a displayed grid corresponding to the displayed list of tasks, wherein the displayed grid comprises a plurality of columns and a row for each task in the displayed task list. The displayed grid preferably further comprises entries at intersections of the columns and the rows, wherein the entries provide status information for the tasks in the displayed list and enable performing a plurality of actions (e.g. launching tasks) relative to selected ones of the tasks in the displayed list.
The status information preferably includes which tasks are executing, which tasks are requesting input from the user, and which tasks have information to display to the user. The status information may also include a notification that a particular task should be started by the user. In this latter case, the notification may be received because of an event which occurred in another task or perhaps because a message arrived for the user, in which case the message indicates that the particular task should be started. The message may optionally include input values to be used by the particular task when it is started. The input values may be encoded within a structured markup language document or other means.
The status information may also include which tasks have completed normally, and/or which tasks have completed abnormally. In the latter case, the user may see the task view of a selected one of the tasks that have completed abnormally by activating the entry providing the status information of the selected task.
The actions that may be performed preferably include starting execution of a selected task and surfacing the task view for a selected task, and may also include stopping execution of a selected task. Preferably, entries in the grid may be selectively activated by the user to perform the actions. The activation may comprise tapping a selected entry with a stylus or pen input device. The actions may also include stopping execution of a selected group of tasks, in which case the selected group may comprise multiple instances of a particular task from the displayed list.
A graphical selection area may be provided on the task view for a selected task where this selection area may be activated by the user to return to the multi-function application launcher view.
In yet another aspect, the present invention provides methods, systems, and computer program products for providing an improved user interface for pervasive computing devices. This aspect preferably comprises displaying a multi-functional application launcher view, and enabling a user of the pervasive computing device to selectively navigate between the multi-functional application launcher view and selected ones of a plurality of task views. Displaying the multi-functional application launcher view preferably comprises displaying a list of tasks available to the user for execution by the pervasive computing device, and displaying a grid corresponding to the displayed list of tasks, wherein the displayed grid comprises a plurality of columns and a row for each task in the displayed task list. The columns preferably correspond to life cycle points of the displayed list of tasks, and this aspect may further comprise displaying entries at selected intersections of the columns and the rows, wherein the entries provide status information about particular life cycle points of the task associated with that row and/or graphical depictions of available actions for particular life cycle points of the task associated with that row. Optionally, the user may be allowed to modify the life cycle points and/or to modify the graphical depictions of available actions. The graphical depictions may be activated to perform actions for particular life cycle points of the task associated with that row. A selected displayed entry may be revised when the task associated with that row has different status information or when the task associated with that row has a different available action. In this case, an application programming interface invocation may be received which indicates the different status or available action.
Optionally, a graphical indication may be displayed on the multi-functional application launcher view when the displayed list of tasks exceeds a display capacity of the pervasive computing device.
The actions in this aspect preferably include starting execution of a selected task and surfacing the task view for a selected task, and may also include stopping execution of a selected task. The status information preferably includes which tasks are executing, which tasks are requesting input from the user, and which tasks have information to display to the user. A plurality of instances of a particular task may be executing, in which case surfacing a task view preferably further comprises surfacing the task view of a selected one of the plurality when the user activates the graphical depiction for surfacing the task view of the particular task. The particular one may be, for example, the instance which was most recently viewed by the user. Or, if the activated graphical depiction indicates that input is requested from the user, then the particular one may be the instance which is requesting the input. Or, if the activated graphical depiction indicates that information is available for presenting to the user, then the particular one may be the instance which has the available information. As yet another alternative, the particular one may be selected by the user. In this latter case, the activated graphical depiction preferably indicates presence of the plurality, and a selectable representation of the plurality is presented to the user in response to the activation of the graphical depiction. The particular one is then preferably the instance which is selected by the user from the selectable representation.
The user of the pervasive computing device may selectively navigate between the multi-functional application launcher view and selected task views.
The present invention will now be described with reference to the following drawings, in which like reference numbers denote the same element throughout.